home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9706 / 000010_owner-urn-ietf _Tue Jun 3 19:00:08 1997.msg < prev    next >
Internet Message Format  |  1997-06-19  |  63KB

  1. Received: (from daemon@localhost)
  2.     by services.bunyip.com (8.8.5/8.8.5) id TAA06295
  3.     for urn-ietf-out; Tue, 3 Jun 1997 19:00:08 -0400 (EDT)
  4. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1])
  5.     by services.bunyip.com (8.8.5/8.8.5) with ESMTP id SAA06276
  6.     for <urn-ietf@services.bunyip.com>; Tue, 3 Jun 1997 18:59:56 -0400 (EDT)
  7. Received: from lysithea.lcs.mit.edu (lysithea.lcs.mit.edu [18.26.0.187])
  8.     by mocha.bunyip.com (8.8.5/8.8.5) with SMTP id SAA14531
  9.     for <urn-ietf@bunyip.com>; Tue, 3 Jun 1997 18:59:45 -0400 (EDT)
  10. Received: (from sollins@localhost) by lysithea.lcs.mit.edu (8.6.9/8.6.9) id SAA16117; Tue, 3 Jun 1997 18:59:43 -0400
  11. Date: Tue, 3 Jun 1997 18:59:43 -0400
  12. Message-Id: <199706032259.SAA16117@lysithea.lcs.mit.edu>
  13. From: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  14. To: urn-ietf@bunyip.com
  15. Subject: [URN] new version of guidelines
  16. Sender: owner-urn-ietf@Bunyip.Com
  17. Precedence: bulk
  18. Reply-To: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  19. Errors-To: owner-urn-ietf@Bunyip.Com
  20.  
  21. Attached is the draft of what used to be "requirements", but is now
  22. called "guidelines", as agreed in Memphis.  It should show up on
  23. Internet Drafts some day very soon.  Has been submitted.
  24.  
  25.             Karen
  26.  
  27. __________
  28.  
  29. Internet Draft                                          Karen R. Sollins
  30. draft-ietf-urn-req-frame-02.txt                                  MIT/LCS
  31. Expires December 4, 1997                                    June 4, 1997
  32.  
  33.     Guidelines and a Framework for URN Resolution Systems
  34.  
  35.  
  36. Status of this draft
  37.      This document is an Internet-Draft.  Internet-Drafts are working
  38.      documents of the Internet Engineering Task Force (IETF), its
  39.      areas, and its working groups.  Note that other groups may also
  40.      distribute working documents as Internet-Drafts.
  41.  
  42.      Internet-Drafts are draft documents valid for a maximum of six
  43.      months and may be updated, replaced, or obsoleted by other
  44.      documents at any time.  It is inappropriate to use Internet-
  45.      Drafts as reference material or to cite them other than as
  46.      ``work in progress.''
  47.  
  48.      To learn the current status of any Internet-Draft, please check
  49.      the ``1id-abstracts.txt'' listing contained in the Internet-
  50.      Drafts Shadow Directories on ftp.is.co.za (Africa),
  51.      nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
  52.      ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
  53.  
  54.  
  55. Abstract:
  56.  
  57. This document addresses the issues of the discovery of URN resolver
  58. services that in turn will directly translate URNs into URLs and URCs.
  59. The document falls into three major parts, the assumptions underlying
  60. the work, the guidelines in order to be a viable Resolver Discovery
  61. Service or RDS to help in finding URN resolvers, and a framework for
  62. designing RDSs.  The guidelines fall into three major areas:
  63. evolvability, usability, and security and privacy.  An RDS that is
  64. compliant with the framework will not necessarily be compliant with the
  65. guidelines.  Compliance with the guidelines will need to be validated
  66. separately.
  67.  
  68.  
  69. 1. Introduction
  70.  
  71. The purpose of this document is to lay out the engineering criteria for
  72. what we will call here a Resolver Discovery Service (RDS), a service to
  73. help in the learning about URN resolvers.  This is a component of the
  74. realization of an information infrastructure.  In the case of this work,
  75. that infrastructure is to be available, "in the Internet" or globally,
  76. and hence the solutions to the problems we are addressing must globally
  77. scalable.  In this work, we are focussing specifically on naming of
  78. resources and resolution of those names to the exclusion of other
  79. problems such as typing, resource access and availability, security of
  80. the resources, etc.  Those are all important problems, but not part of
  81. this effort.
  82.  
  83. The Uniform Resource Identifier Working Group defined a naming
  84. architecture, as demonstrated in a series of three RFCs 1736[RFC1736],
  85.  
  86.                                - 1 -
  87.  
  88. 1737{RFC1737}, and 1738[RFC1738].  Although several further documents
  89. are needed to complete the description of that architecture, it
  90. incorporates three core functions often associated with "naming":
  91. identification, location, and mnemonics or semantics.  By location, we
  92. mean fully-qualified Domain Names or IP addresses.  Names may provide
  93. the ability to distinguish one resource from another, by distinguishing
  94. their "names".  Names may help to provide access to a resource by
  95. including "location" information.  Lastly, names may have other semantic
  96. or mnemonic information that either helps human users remember or figure
  97. out the names, or include other semantic information about the resource
  98. being named.  The URI working group concluded that there was need for
  99. persistent, globally unique identifiers, distinct from location or other
  100. semantic information; these "names" provide identity, in that if two of
  101. them are "the same" (under some simple rule of canonicalization), they
  102. identify the same resource.  Furthermore, the group decided that these
  103. "names" were generally to be for machine, rather than human,
  104. consumption.  One can imagine a variety human-friendly naming (HFN)
  105. schemes supporting different suites of applications and user
  106. communities.  These will need to provide mappings to URNs in tighter or
  107. looser couplings, depending on the namespace.  It is these HFNs that
  108. will be mnemonic, content-full, and perhaps mutable, to track changes in
  109. use and semantics.  They may provide nicknaming and other aliasing,
  110. relative or short names, context sensitive names, descriptive names,
  111. etc.  The URI naming architecture as described in the introductions to
  112. RFCs 1736 and 1737 lays out three sorts of components to the naming
  113. architecture: identifiers called Uniform Resource Names (URNs), locators
  114. called Uniform Resource Locators (URLs) and semantic meta-information
  115. called Uniform Resource Characteristics (URCs).  This document focusses
  116. on part of the problem of the translation from URN to URL and/or URC.
  117.  
  118. URNs as described in RFC 1737 are defined globally; they are ubiquitous
  119. in that a URN anywhere in any context identifies the same resource.
  120. With respect to an RDS we must ask what URN ubiquity implies for the RDS
  121. and for resolution in general.  But in terms of Internet services and
  122. accessibility, there can be no systematic guarantees.  In addition, it
  123. is quite possible that the resolution of a URN to an instance of a
  124. resource may reach different instances or copies under different
  125. conditions.  Thus, although a URN anywhere refers to the same resource,
  126. in some locations under some conditions, and at different times, due to
  127. either the vagueries of network conditions or policy controls a URN may
  128. sometimes be resolvable and other times or places not.  Ubiquitous
  129. resolution cannot be assumed simply because naming is ubiquitous.  On
  130. the other hand wide deployment and usage will be an important feature of
  131. any RDS design.
  132.  
  133. Within the URI community there has been a concept used frequently that
  134. for lack of a better term we will call a _hint_.  A hint is something
  135. that helps in the resolution of a URN; we map URNs to hints as an
  136. interim stage in accessing a resource.  A hint may also have
  137. meta-information associated with it, such as an expiration_time or
  138. certification of authenticity.  We expect that these will stay with a
  139. hint rather than being managed elsewhere.  We will assume in all further
  140. discussion of hints that they include any necessary meta-information as
  141. well as the hint information itself.  Examples of hints are: 1) the name
  142. of a resolver service that may further resolve the URN, 2) the address
  143. of such a service, 3) a location at which the resource was previously
  144.  
  145.                                - 2 -
  146.  
  147. found.  The defining feature of hints is that they are only hints; they
  148. may be out of date, temporarily invalid, or only applicable within a
  149. specific locality.  They do not provide a guarantee of access, but they
  150. probably will help in the resolution process.  We must assume that most
  151. resolutions of URNs will be provided by the use of locally stored hints,
  152. because maintaining a database of globally available, completely
  153. up-to-date location information is infeasible for performance reasons.
  154. There are a number of circumstances in which one can imagine that hints
  155. become invalid, either because a resource has moved or because a
  156. different URN resolver service has taken over the responsibility for
  157. resolution of the URN.  Hints may be found in a variety of places.  It
  158. is generally assumed that a well engineered system will maintain a set
  159. of hints for each URN at each location where that URN is found.  In
  160. addition, for those situations in which those hints found locally fail,
  161. a well-engineered system will provide a fall-back mechanism for
  162. discovering further hints.  It is this fall-back mechanism, an RDS, that
  163. is being addressed in this document.  As with all hints, there can never
  164. be a guarantee that access to a resource will be available to all
  165. clients, even if the resource is accessible to some.  However, an RDS is
  166. expected to work with reasonably high reliability, and, hence, may
  167. result in increased response time.
  168.  
  169. The remainder of this document falls into three sections.  The first
  170. identifies several sets of assumptions underlying this work.  There are
  171. three general assumptions:
  172.    * URNs are persistant;
  173.    * URN assignment can be delegated;
  174.    * Decisions can be made independently, enabling isolation from decisions 
  175.      of one's peers.
  176.  
  177. The next section lays out the guidelines for a Resolver Discovery
  178. Service.  This section is probably the most critical of the document,
  179. because it is this that provides the metric for whether or not a
  180. proposed scheme for a n RDS is adequate or not.  To summarize, there are
  181. three core rubrics, each of which is refined and subdivided below:
  182.    R1) An RDS must allow for evolution and evolvability;
  183.    R2) Usability of an RDS with regard to each of the sets of constituents 
  184.        involved in the identification and location or resources is paramount;
  185.    R3) It is centrally important that the security and privacy needs of all 
  186.        consituents be feasibly supported, to the degree possible.
  187.        
  188. It is important to note that the origins of this document were as a
  189. requirements document.  Therefore it retains its flavor of a requirments
  190. documents including the use of "must" and "should".  The consensus of
  191. the working group currently is that more experience is needed before it
  192. can have the confidence necessary to be explicit about requirements for
  193. RDSs.  Hence the document is worded in terms of "guidelines" and
  194. "rubrics", with the understanding that anyone any proposal for an RDS
  195. design should still measure up to the statements in this document, based
  196. on the accrued knowledge and experience of a group that has been working
  197. in this area for a number of years.  Any RDS proposal should document
  198. how it addresses each of the rubrics.  If it does not adequately address
  199. any of them, it should document the reasoning behind it, so that the
  200. community can learn from that experience, with the intention of defining
  201. a set of requirements in the future.
  202.  
  203.  
  204.                                - 3 -
  205.  
  206. For the reader short on time, each of the three major subsections of the
  207. guidelines section begins with a summary list of the more detailed
  208. guidelines identified in that section.  The final section of the
  209. document lays out a framework for such RDSs.  The purpose of this last
  210. section is to bound the search space for RDS schemes.  One must be
  211. careful not to assume that because an RDS scheme fits within the
  212. framework that it necessarily meets the guidelines.  As will be
  213. discussed further in this last section, designing within the framework
  214. does not guarantee compliance, so compliance evaluation must also be
  215. part of the process of evaluation of a scheme.
  216.  
  217. 2. Assumptions
  218.  
  219. Based on previous internet drafts and discussion in both the URN BOFs
  220. and on the URN WG mailing list, three major areas of assumptions are
  221. apparent: longevity, delegation, and independence.  Each will be
  222. discussed separately.
  223.  
  224. The URN guidelines state that a URN is to be a "persistent identifier".
  225. It is probably the case that nothing will last forever, but in the time
  226. frame of resources, users of those resources, and the systems to support
  227. the resources, the identifier should be considered to be persistent or
  228. have a longer lifetime than those other entities.  There are two
  229. assumptions that are implied by longevity of URNs: mobility and
  230. evolution.  "Mobility" assumes that everything will move over the life
  231. of a URN.  For example, resources will move from one machine to another,
  232. because individual machines have a much shorter lifetime than resources,
  233. generally measured in a number of years less than a decade.  Owners of
  234. resources may move and wish their resources to follow them.  The
  235. services themselves will move.  "Evolution" assumes that the supporting
  236. infrastructure will evolve.  This may take the form of entirely new
  237. transport protocols or new versions of existing protocols.  Furthermore,
  238. services such as storage services may evolve; it is even possible that
  239. within a human lifetime the Unix file system model may no longer be in
  240. use!  Clearly there will be evolution of and improvement in supporting
  241. authentication and security mechanisms.  These are only examples.  In
  242. general, we must assume that almost any piece of the supporting
  243. infrastructure of URN resolution will evolve.  In order to deal with
  244. both the mobility and evolution assumptions that derive from the
  245. assumption of longevity, we must assume that users and their
  246. applications can remain independent of these mutating details of the
  247. supporting infrastructure.
  248.  
  249. The second and third assumptions are two forms of modularity: delegation
  250. and isolation.  The delegation assumption is that an entity may
  251. partition and pass off some of its authority or responsibility.  One of
  252. those responsibilities is for assigning URNs; practically speaking,
  253. there cannot be only a single authority for assigning URNs.  We expect
  254. that there will be a multi-tiered naming authority delegation.
  255. Furthermore, it is difficult to imagine a non-partitioned and delegated
  256. global RDS, meaning that hint discovery and resolution will be
  257. partitioned and delegated.  In some RDS schemes, the delegation of
  258. naming authority will form a basis for delegating the management and
  259. dispensing of location information.
  260.  
  261.  
  262.                                - 4 -
  263.  
  264. The third assumption is independence or isolation of one authority from
  265. another and, at least to some extent from its parent.  Underlying much
  266. of the thinking and discussion in the URI and URN working groups has
  267. been the assumption that when a component delegates authority to another
  268. component, the delegatee can operate in that domain independently of its
  269. peers and within bounds specified by the delegation, independently of
  270. the delegator.  This isolation is critically important in order to allow
  271. for independence of policy and mechanism.
  272.  
  273. There are a number of more specific assumptions that fall under this
  274. rubric of isolation.  First, we assume that the publisher of a resource
  275. can choose resolver services, independently of choices made by others.
  276. At any given time, the owner of a namespace may choose a particular URN
  277. resolver service for that delegated namespace.  Such a URN resolver
  278. service may be outside the RDS service model, and just identified or
  279. located by the RDS service.  Second, it must be possible to make a
  280. choice among RDS services, perhaps based on different underlying
  281. internal architectures.  The reason that this is an assumption is that
  282. there must be an evolutionary path through a sequence of core RDS
  283. services.  Although at any given time there is likely to be only one or
  284. a small set of such services, the number is likely to increase during a
  285. transition period from one architecture to another.  Thus, it must be
  286. assumed that clients can make a choice among a probably very small set
  287. of RDSs.  Third, there must be independence in the choice about levels
  288. and models of security and authenticity required.  This choice may be
  289. made by the owner of a naming subspace, in controlling who can modify
  290. hints in that subspace.  A naming authority may delegate this choice to
  291. the owners of the resources named by the names it has assigned.  There
  292. may be limitations on this freedom of choice in order to allow other
  293. participants to have the level of security and authenticity they
  294. require, for example, in order to maintain the integrity of the RDS
  295. infrastructure as a whole.  Fourth, there is an assumption of
  296. independence of choice of the rule of canonicalization of URNs within a
  297. namespace, limited by any restrictions or constraints that may have been
  298. set by its parent namespace.  This is a choice held by naming
  299. authorities over their own subnamespaces.  Rules for canonicalization
  300. will be discussed further in the framework section below.  Thus, there
  301. are assumptions of independence and isolation to allow for delegated,
  302. independent authority in a variety of domains.
  303.  
  304. The modularity assumptions of delegation and isolation imply
  305. independence of decision and implementation, leading to a
  306. decentralization that provides a certain degree of safety from denial of
  307. service.  Based on these these assumptions in conjunction with that of
  308. longevity and those for URLs and URNs as detailed in RFCs 1736 and 1737,
  309. we can now turn to the guidelines for a Resolver Discovery Service.
  310.  
  311. 3. Guidelines
  312.  
  313. The guidelines or rubrics applying to a Resolver Discovery Service or
  314. RDS center around three important design goals: evolvability, usability,
  315. and security and privacy.  At its core the function of an RDS is to
  316. provide hints for accessing a resource given a URN for it.  These hints
  317. may range in applicability from local to global, and from short-lived to
  318. long-lived.  They also may vary in their degree of verifiable
  319. authenticity.  While it may be neither feasible nor necessary that
  320.  
  321.                                - 5 -
  322.  
  323. initial implementations support every guideline, every implementation
  324. must support evolution to systems that do support every rubric.
  325.  
  326. It is important to note that there are requirements, not applicable
  327. specifically to an RDS that must also be met.  A whole URN system will
  328. consist of namespaces, the resolution information for them, and the
  329. mapping from names in the namespaces to resolution information (or
  330. hints).  URN schemes must meet the requirements of RFC 1737.  Resolution
  331. information, to the extent it is expressed as URLs must meet the
  332. requirements of RFC 1736.  But this does not tell the whole story.
  333. Although the URN working group will identify several acceptable
  334. namespaces and the rules binding them, such as how delegation occurs,
  335. how it is expressed in the names, how and to what extent binding to hint
  336. information will be constrained by the namespace, in the long run a
  337. document will be needed to guide the evaluation criteria for acceptance
  338. of new namespaces.  These are not included in the list of guidelines
  339. below because they are not guidelines or requirements for an RDS, but
  340. rather are requirements for naming schemes themselves.
  341.  
  342. Each section below begins with a summary of the points made and
  343. discussed in the following discussion.  It is worth noting here that
  344. there is some degree of overlap among the areas, such as in allowing for
  345. the evolution of security mechanisms, etc.  Issues may appear in more
  346. than one place.  It is also important to recognize that conformance with
  347. the rubrics may often be subjective.  Most of these rubrics are not
  348. quantifiable and hence conformance is a judgment call and a matter of
  349. degree.  Lastly, the reader may find that some of them are those of
  350. general applicability to distributed systems and some are specific to
  351. URN resolution.  Those of general applicability are included for
  352. completeness and are not distinguished as such.
  353.  
  354. 3.1 Evolution
  355.  
  356. The issues in the area of evolvability are:
  357.  
  358.    R1.1) An RDS must be able to support scaling updwards both in terms
  359.          of the number of resources for which URNs will be required and
  360.          in terms of the number of publishers and users of those
  361.          resources;
  362.  
  363.    R1.2) A hint resolution environment must support evolution of 
  364.          mechanisms, specifically for:
  365.          * a growing set of URN schemes;
  366.          * new kinds local URN resolver services;
  367.          * new authentication schemes;
  368.          * alternative RDS schemes active simultaneously;
  369.    R1.3) An RDS must be capable of supporting the separation of global 
  370.          identification from location information; 
  371.    R1.4) An RDS must allow the development and deployment of
  372.          administrative control mechanisms to manage human behavior with
  373.          respect to limited resources. 
  374.  
  375. One of the lessons of the Internet that we must incorporate into the
  376. development of mechanisms for resolving URNs is that we must be prepared
  377. for change.  Such changes may happen slowly enough to be considered
  378. evolutionary modifications of existing services or dramatically enough
  379.  
  380.                                - 6 -
  381.  
  382. to be considered revolutionary.  They may permeate the Internet universe
  383. bit by bit, living side by side with earlier services or they may take
  384. the Internet by storm, causing an apparent complete transformation over
  385. a short period of time.  There are several directions in which we can
  386. predict the need for evolution, even at this time, prior to the
  387. deployment of any such service.  At the very least, the community and
  388. the mechanisms proposed should be prepared for these.
  389.  
  390. First, scaling is a primary issue in conjunction with evolution.  The
  391. number of users and publishers is certainly on an increasing trajectory.
  392. One might consider that it has an upper limit based on the population,
  393. but that assumes that resources are only published by and for the use of
  394. humans.  As our world becomes more automated, more "users" will be
  395. electronic.  In addition, clearly the number of resources will grow by
  396. orders of magnitude.  Hence the number of URNs will also increase
  397. similarly.  These facts mean that an RDS design must be prepared to
  398. handle increasing numbers of requests for inclusion, update and
  399. resolution.  This is not to say that there will necessarily be more
  400. updates or resolutions per URN; we cannot predict that at this time.
  401. Any design is likely to perform less well above some set of limits, so
  402. it is worth considering the growth limitations of each design
  403. alternative.
  404.  
  405. Second, we expect there to be additions and changes to the mechanisms.
  406. The community already understands that there must be a capacity for new
  407. URN schemes.  A URN scheme will define a set of URNs that meet the URN
  408. requirements[RFC1737], but may have further constraints on the internal
  409. structure of the URN. The intention is that URN schemes can be free to
  410. specify parts of the URN that are left opaque in the larger picture.  In
  411. fact, a URN scheme may choose to make public the algorithms for any such
  412. "opaque" part of the URN. For example, although it may be unnecessary to
  413. know the structure of an ISBN, the algorithm for understanding the
  414. structure of an ISBN has been made public.  Other schemes may either
  415. choose not to make their algorithms public, or choose a scheme in which
  416. knowledge of the scheme does not provide any significant semantics to
  417. the user.  In any case, we must be prepared for a growing number of URN
  418. schemes.
  419.  
  420. Often in conjunction with a new URN scheme, but possibly independently
  421. of any particular URN scheme, new kinds of resolver services may evolve.
  422. For example, one can imagine a specialized resolver service based on the
  423. particular structure of ISBNs that improves the efficiency of finding
  424. documents given their ISBNs.  Alternatively, one can also imagine a
  425. general purpose resolver service that trades performance for generality;
  426. although it exhibits only average performance resolving ISBNs, it makes
  427. up for this weakness by understanding all existing URN schemes, so that
  428. its clients can use the same service to resolve URNs regardless of
  429. naming scheme.  In this context, there will always be room for
  430. improvement of services, through improved performance, better
  431. adaptability to new URN schemes, or lower cost, for example.  In any
  432. case, new models for URN resolution will evolve and we must be prepared
  433. to allow for their participation in the overall resolution of URNs.
  434.  
  435. If we begin with one overall plan for URN resolution, into which the
  436. enhancements described above may fit, we must also be prepared for an
  437. evolution in the authentication schemes that will be considered either
  438.  
  439.                                - 7 -
  440.  
  441. useful or necessary in the future.  There is no single globally accepted
  442. authentication scheme, and there may never be one.  Even if one does
  443. exist at some point in time, there will always be threats to it, and so
  444. we must always be prepared to move on to newer and better schemes, as
  445. the old ones become too easily spoofed or guessed.
  446.  
  447. Lastly, in terms of mechanism, although we may develop and deploy a
  448. single RDS scheme initially, we must be prepared for that top level
  449. model to evolve.  Thus, if the RDS model supports an apparently
  450. centralized (from a policy standpoint) scheme for inserting and
  451. modifying authoritative information, over time we must be prepared to
  452. evolve to a different model, perhaps one that has a more distributed
  453. model of authority and authenticity.  If the model has no core but
  454. rather a cascaded partial discovery of information, we may find that
  455. this becomes unmanageable with an increase in scaling.  Whatever the
  456. core of the model, we must be prepared for it to evolve with changes in
  457. scaling, performance, and policy constraints such as security and cost.
  458.  
  459. Second, in addition to the evolution of resolution mechanisms, we expect
  460. that the community will follow an evolutionary path towards the
  461. separation of location information from identification.  The URN
  462. requirements document suggested this path as well, and there has been
  463. general agreement in much of the community that such a separation is
  464. desirable.  This is a problem that the public at large has generally not
  465. understood.  Today we see the problem most clearly with the use of URLs
  466. for identification.  When a web page moves, its URL becomes invalid.
  467. Suppose such a URL is embedded in some page, stored in long term
  468. storage.  There are three possible outcomes to this scenario.  One
  469. possibility is that the client is left high and dry with some message
  470. saying that the page cannot be found.  Alternatively, a "forwarding
  471. pointer" may be left behind, in the form of an explicit page requesting
  472. the client to click on a new URL. Although this will allow the client to
  473. find the intended page, the broken link cannot be fixed because the URL
  474. is embedded in a file outside of the client's control.  A third
  475. alternative is that the target server supplies redirect so that the new
  476. page is provided for the client automatically.  In this case, the client
  477. may not even realize that the URL is no longer correct.  The real
  478. problem with both of these latter two situations is that they only work
  479. as long as the forwarding pointer can be found at the old URL. Location
  480. information was embedded in the identifier, and the resolution system
  481. was designed to depend on that location information being correct.
  482. There are few cases in which we can expect such information to remain
  483. valid for a long time, but in many cases references need to have long
  484. lifespans.  Most documents are only useful while their references still
  485. function.  To the extent that an RDS scheme supports the separation of
  486. global identification from location information it will be encouraging
  487. the longer utility of the identities.
  488.  
  489. A third evolutionary issue is even more mechanical than the others.  At
  490. any point in time, the community is likely to be supporting a compromise
  491. position with respect to resolution.  We will probably be operating in a
  492. situation balanced between feasibility and the ideal, perhaps with
  493. policy controls used to help stabilize use of the service.  Ideally, the
  494. service would be providing exactly what the customers wanted and they in
  495. turn would not request more support than they need.  Since we will
  496. always be in a situation in which some service provision resources will
  497.  
  498.                                - 8 -
  499.  
  500. be in short supply, some form of policy controls will always be
  501. necessary.  Some policy controls may be realized as mechanisms within
  502. the servers or in the details of protocols, while others may only be
  503. realized externally to the system.  For example, suppose hint entries
  504. are being submitted in such volume that the hint servers are using up
  505. their excess capacity and need more disk space.  An effective solution
  506. to this problem would be a mechanism such as a pricing policy.  This
  507. pricing policy has the dual effect of both encouraging conservative use
  508. of resources and collecting revenue for the improvement and maintenance
  509. of the system.  We can also imagine administrative policy controls with
  510. the force of laws or other social pressures behind them, but with no
  511. technical mechanism enforcing or enabling them.  As technology changes
  512. and the balance of which resources are in short supply changes, the
  513. mechanisms and policies for controlling their use must evolve as well.
  514.  
  515. 3.2 Usability and Feature Set Issues
  516.  
  517. To summarize, the usability rubrics fall into three areas based on
  518. participation in hint management and discovery:
  519.  
  520.    R2.1) The publisher
  521.       R2.1.1) URN to hint resolution must be correct and efficient with
  522.               very high probability;
  523.       R2.1.2) Publishers must be able to select and move among URN 
  524.               resolver services to locate their resources;
  525.       R2.1.3) Publishers must be able to arrange for multiple access
  526.               points for their location information;
  527.       R2.1.4) Publishers should be able to provide for both long-lived
  528.               and short-lived hints;
  529.       R2.1.5) It must be relatively easy for publishers to specify to
  530.               the management and observe their hint information as well
  531.               as any security constraints they need for their hints.
  532.    R2.2) The client
  533.       R2.2.1) The interface to the RDS must be simple, effective, and
  534.               efficient;
  535.       R2.2.2) The client and client applications must be able to
  536.               understand the information stored in and provided by the
  537.               RDS easily, in order to be able to make informed choices.
  538.    R2.3) The management
  539.       R2.3.1) The management of hints must be as unobtrusive as
  540.               possible, avoiding using too many network resources;
  541.       R2.3.2) The management of hints must allow for administrative
  542.               controls that encourage certain sorts of behavior deemed
  543.               necessary to meet other requirements;
  544.       R2.3.3) The configuration and verification of configuration of
  545.               individual RDS servers must be simple enough not to
  546.               discourage configuration and verification.
  547.  
  548. Usability can be evaluated from three distinct perspectives: those of a
  549. publisher wishing to make a piece of information public, those of a
  550. client requesting URN resolution, and those of the provider or manager
  551. of resolution information.  We will separately address the usability
  552. issues from each of these three perspectives.
  553.  
  554. It is worth noting that there are two additional sorts of participants
  555. in the whole naming process, as discussed in the URN WG.  They are the
  556.  
  557.                                - 9 -
  558.  
  559. naming authorities which choose and assign names, and the authors who
  560. include URNs in their resources.  These two are not relevant to the
  561. design of an RDS and hence are not discussed further here.
  562.  
  563. 3.2.1 The Publisher
  564.  
  565. The publisher must be able to make URNs known to potential customers.
  566. >From the perspective of a publisher, it is of primary importance that
  567. URNs be correctly and efficiently resolvable by potential clients with
  568. very high probability.  Publishers stand to gain from long-lived URNs,
  569. since they increase the chance that references continue to point to
  570. their published resources.
  571.  
  572. The publisher must also be able to choose easily among a variety of
  573. potential services that might translate URNs to location information.
  574. In order to allow for this mobility among resolver services, the
  575. architecture for resolver services specified within the IETF should not
  576. result in a scenario in which changing from one resolver service to
  577. another is an expensive operation.
  578.  
  579. The publisher must be able to arrange for multiple access points to a
  580. published resource.  For this to be useful, resolver services should be
  581. prepared to provide different resolution or hint information to
  582. different clients, based on a variety of information including location
  583. and the various access privileges the client might have.  For example,
  584. companies might arrange for locally replicated copies of popular
  585. resources, and would like to provide access to the local copies only for
  586. their own employees.  This is distinct from access control on the
  587. resource as a whole, and may be applied differently to different copies.
  588.  
  589. The publisher should be able to provide both long and short term
  590. location information about accessing the resource.  Long term
  591. information is likely to be such information as the long term or the
  592. location or identity of a resolver service with which the publisher has
  593. a long term relationship.  One can imagine that the arrangement with
  594. such a long term "authoritative" resolver service might be a guarantee
  595. of reliability, resiliency to failure, and atomic updates.  Shorter term
  596. information is useful for short term changes in services or to avoid
  597. short lived congestion or failure problems.  For example, if the actual
  598. repository of the resource is temporarily inaccessible, the resource
  599. might be made available from another repository.  This short term
  600. information can be viewed as temporary refinements of the longer term
  601. information, and as such should be more easily and quickly made
  602. available, but may be less reliable.
  603.  
  604. Lastly, the publishers will be the source of much hint information that
  605. will be stored and served by the manager of the infrastructure.  Despite
  606. the fact that many publishers will not understand the details of the RDS
  607. mechanism, it must be easy and straightforward for them to install hint
  608. information.  The publisher must be able not only to express hints, but
  609. also to verify that what is being served by the manager is correct.
  610. Furthermore, to the extent that there are security constraints on hint
  611. information, the publisher must be able to both express them and verify
  612. compliance with them easily.
  613.  
  614.  
  615.                                - 10 -
  616.  
  617. 3.2.2 The Client
  618.  
  619. >From the perspective of the client, simplicity and usability are
  620. paramount.  Of critical importance to serving clients effectively is
  621. that there be an efficient protocol through which the client can acquire
  622. hint information.  Since resolving the name is only the first step on
  623. the way to getting access to a resource, the amount of time spent on it
  624. must be minimized.
  625.  
  626. Furthermore, it will be important to be able to build simple, standard
  627. interfaces to the RDS so that both the client and applications on the
  628. client's behalf can interpret hints and subsequently make informed
  629. choices.  The client, perhaps with the assistance of the application,
  630. must be able to specify preferences and priorities and then apply them.
  631. If the ordering of hints is only partial, the client may become directly
  632. involved in the choice and interpretation of them and hence they must be
  633. understandable to that client.  On the other hand, in general it should
  634. be possible to configure default preferences, with individual
  635. preferences viewed as overriding any defaults.
  636.  
  637. >From the client's perspective, although URNs will provide important
  638. functionality, the client is most likely to interact directly only with
  639. human friendly names (HFNs).  As in direct human interaction (not
  640. computer mediated), the sharing of names will be on a small, private, or
  641. domain specific scale.  HFNs will be the sorts of references and names
  642. that are easy to remember, type, choose among, assign, etc.  There will
  643. also need to be a number of mechanisms for mapping HFNs to URNs.  Such
  644. services as "yellow pages" or "search tools" fall into this category.
  645. Although we are mentioning HFNs here, it is important to recognize that
  646. HFNs and the mappings from HFNs to URNs is and must remain a separate
  647. functionality from an RDS.  Hence, although HFNs will be critical to
  648. clients, they do not fall into the domain of this document.
  649.  
  650. 3.2.3 The Management
  651.  
  652. Finally, we must address the usability concerns with respect to the
  653. management of the hint infrastructure itself.  What we are terming
  654. "management" is a service that is distinct from publishing; it is the
  655. core of an RDS.  It involves the storage and provision of hints to the
  656. clients, so that they can find published resources.  It also provides
  657. security to the extent that there is a commitment for provision of such
  658. security; this is addressed in Section 3.3 below.
  659.  
  660. The management of hints must be as unobtrusive as possible. First, its
  661. infrastructure (hint storage servers and distribution protocols) must
  662. have as little impact as possible on other network activities.  It must
  663. be remembered that this is an auxiliary activity and must remain in the
  664. background.
  665.  
  666. Second, in order to make hint management feasible, there may need to be
  667. a system for administrative incentives and disincentives such as pricing
  668. or legal restrictions.  Recovering the cost of running the system is
  669. only one reason for levying charges.  The introduction of payments often
  670. has a beneficial impact on social behavior.  It may be necessary to
  671. discourage certain forms of behavior that when out of control have
  672. serious negative impact on the whole community.  At the same time, any
  673.  
  674.                                - 11 -
  675.  
  676. administrative policies should encourage behavior that benefits the
  677. community as a whole.  Thus, for example, a small one-time charge for
  678. authoritatively storing a hint will encourage conservative use of hints.
  679. If we assume that there is a fixed cost for managing a hint, then the
  680. broader its applicability across the URN space, the more cost effective
  681. it is.  That is, when one hint can serve for a whole collection of URNs,
  682. there will be an incentive to submit one general hint over a large
  683. number of more specific hints.  Similar policies can be instituted to
  684. discourage the frequent changing of hints.  In these ways and others,
  685. behavior benefitting the community as a whole can be encouraged.
  686.  
  687. Lastly, symmetric to issues of usability for publishers, it must also be
  688. simple for the management to configure the mapping of URNs to hints.  It
  689. must be easy both to understand the configuration and to verify that
  690. configuration is correct.  With respect to management, this issue may
  691. have an impact not only on the information itself but also on how it is
  692. partitioned among network servers that collaboratively provide the
  693. management service or RDS.  For example, it should be straightforward to
  694. bring up a server and verify that the data it is managing is correct.
  695. Although this is not a rubric, it is worth nothing that since we are
  696. discussing a global and probably growing service, encouraging volunteer
  697. participants suggests that, as with the DNS, such volunteers can feel
  698. confident about the service they are providing and its benefit to both
  699. themselves and the rest of the community.
  700.  
  701.  
  702. 3.3 Security and Privacy Issues
  703.  
  704. In summary, security and privacy rubrics can be identified as some
  705. degree of protection from threats.  These rubrics are all stated in
  706. terms of possibilities or options for users of the service to require
  707. and utilize.  Hence they address the availability of functionality, but
  708. not for the use of it.  We recognize that all security is a matter of
  709. degree and compromise.  These may not satisfy all potential customers,
  710. and there is no intention here to prevent the building of more secure
  711. servers with more secure protocols to suit their needs.  These are
  712. intended to satisfy the needs of the general public.
  713.  
  714.    R3.1) It must be possible to create authoritative versions of a hint
  715.          with access-to-modification privileges controlled;
  716.    R3.2) It must be possible to determine the identity of servers or
  717.          avoid contact with unauthenticated servers;
  718.    R3.3) It must be possible to reduce the threat of denial of service
  719.          by broad distribution of information across servers.
  720.    R3.4) It must be possible within the bounds of organization policy
  721.          criteria to provide at least some degree of privacy for
  722.          traffic. 
  723.    R3.5) It must be possible for publishers to keep private certain
  724.          information such as an overall picture of the resources they
  725.          are publishing and the identity of their clients;
  726.    R3.6) It must be possible for publishers to be able to restrict
  727.          access to the resolution of the URNs for the resources they
  728.          publish, if they wish. 
  729.  
  730. When one discusses security, one of the primary issues is an enumeration
  731. of the threats being considered for mitigation.  The tradeoffs often
  732.  
  733.                                - 12 -
  734.  
  735. include cost in money and computational and communications resources,
  736. ease of use, likelihood of use, and effectiveness of the mechanisms
  737. proposed.  With this in mind, let us consider a set of threats.
  738.  
  739. A good place to begin is with the early work of Voydock and Kent [VK83].
  740. They identify unauthorized release of information as a passive attack.
  741. On the other hand, unauthorized modification of information, denial of
  742. service, and spurious association initiation are labelled as active
  743. attacks.  An intruder at any protocol layer can attack at any of the
  744. links or computational elements (hosts, routers, etc.)  at that layer.
  745. Attacks at one layer can be achieved by subverting or attacking the
  746. lower layers.  An unauthorized release of information is a violation of
  747. privacy or confidentiality.  This may be achieved by a release of the
  748. information itself.  Additional passive threats are from secondary
  749. information through traffic analysis or other violations of transmission
  750. security, such as noticing lengths and/or sources and destinations of
  751. traffic.  Moving to the active threats, unauthorized modification of
  752. information can be partitioned into problems with authenticity,
  753. integrity and ordering.  Denial of service may take the form of
  754. discarding information before it reaches its destination or some degree
  755. of delay in delivering information.  Finally, spurious association may
  756. occur when a previous legitimate association initiation is played back
  757. or an initiation is made under false identity.  Security measures may
  758. take the form of either detection or prevention of each of these
  759. threats.  Within the scope of this work, we must identify those threats
  760. that are both of concern and that we expect to be able to mediate.
  761.  
  762. Of these threats, the passive threats to privacy or confidentiality and
  763. the active threats of authenticity and integrity are probably the most
  764. important to consider here.  To the extent that spurious association
  765. causes threats to the privacy, authenticity, or integrity with respect
  766. to information within servers managing data, it is also important.
  767. Because updates to hint information are idempotent, at least within
  768. short periods of time, we will set aside the problems of ordering for
  769. this analysis.  Denial of service is probably the most difficult of
  770. these areas of threats both to detect and to prevent, and we will
  771. therefore set it aside for the present as well, although it will be seen
  772. that solutions to other problems will also mitigate some of the problems
  773. of denial of service.  Furthermore, because this is intended to be
  774. provide a global service to meet the needs of a variety of communities,
  775. the engineering tradeoffs will be different for different clients.
  776. Hence the rubrics are stated in terms of, "It must be possible..."  It
  777. is important to note that the information of concern here is hint
  778. information, which by nature is not guaranteed to be correct or
  779. up-to-date; therefore, it is unlikely to be worth putting too much
  780. expense into the correctness of hints, because there is no guarantee
  781. that they are still correct anyway.  But the exact choice of degree of
  782. privacy, authenticity, and integrity must be determined by the needs of
  783. the client and the availability of services from the server.
  784.  
  785. To avoid confusion it is valuable to highlight the meanings of temrs
  786. that have different meanings in other contexts.  In this case, the term
  787. "authoritative" as it is used here connotes the taking of an action or
  788. stamp of approval by a principal (again in the security sense) that has
  789. the right to perform such an act of approval.  It has no implication of
  790. correctness of information, but only perhaps an implication of who
  791.  
  792.                                - 13 -
  793.  
  794. claimed it to be correct.  In contrast, the term is often also used
  795. simply to refer to a primary copy of a piece of information for which
  796. there may also be secondary or cached copies available.  In this
  797. discussion of security we use the former meaning, although it may also
  798. be important to be able to learn about whether a piece of information is
  799. from a primary source or not and request that it be primary.
  800.  
  801. It is also important to distinguish various possible meanings for
  802. "access control."  There are two areas in which distinctions can be
  803. made.  First, there is the question of the kind of access control that
  804. is being addressed, for example, in terms of hints whether it is read
  805. access, read and modify access, or read with verification for
  806. authenticity.  Second, there is the question of to what access is being
  807. controlled.  In the context of naming it might be the names themselves
  808. (not the case for URNs), the mapping of URNs to hints (the business of
  809. an RDS), the mapping of URNs to addresses (not the business of an RDS as
  810. will be discussed below in terms of privacy), or the resource itself
  811. (unrelated to naming or name resolution at all).  We attempt to be clear
  812. about what is meant when using "access control."
  813.  
  814. There is one further issue to address at this point, the distinction
  815. between mechanism and policy.  In general, a policy is realized by means
  816. of a set of mechanisms.  In the case of an RDS there may be policies
  817. internal to the RDS that it needs to have supported in order to do its
  818. business as it sees fit.  Since, in general it is in the business of
  819. storing and distributing information, most of its security policies may
  820. have to do with maintaining its own integrity, and are rather limited.
  821. Beyond that, to the degree possible, it should impose no policy on its
  822. customers, the publishers and users.  It is they that may have policies
  823. that they would like supported by the RDS.  To that end, an RDS should
  824. provide a spectrum of "tools" or mechanisms that the customers can cause
  825. to be deployed on their behalf to realize policies.  An RDS may not
  826. provide all that is needed by a customer.  A customer may have different
  827. requirements within his or her administrative bounds than outside.
  828. Thus, "it must be possible..."  captures the idea that the RDS must
  829. generally provide the tools to implement policies as needed by the
  830. customers.
  831.  
  832. The first approach to URN resolution is to discover local hints.  In
  833. order for hints to be discovered locally, they will be as widely
  834. distributed to what is considered to be local for every locale.  The
  835. drawback of such wide distribution is the wide distribution of updates,
  836. causing network traffic problems or delays in delivering updates.  An
  837. alternative model would concentrate hint information in servers, thus
  838. requiring that update information only be distributed to these servers.
  839. In such a model the vulnerable points are the sources of the information
  840. and the distribution network among them.  Attackers on the integrity of
  841. the information stored in a server may come in the form of other a fake
  842. owner of the information or a fake server to the extent that servers
  843. exchange updates with each other.  Wide replication of information among
  844. servers increases the difficult of masquerading at all the locations of
  845. the information as well as reducing the threat of denial service.  These
  846. lead us to three identifiable goals for our security model:
  847.  
  848.  
  849.  
  850.                                - 14 -
  851.  
  852. * ACCESS CONTROL ON HINTS: It must be possible to create an
  853.   authoritative version of each hint with change control limited only
  854.   to those principals with the right to modify it.  The choice of who
  855.   those principals are or whether they are unlimited must be should by
  856.   the publisher of a hint.
  857.  
  858. * SERVER AUTHENTICITY: Servers and clients must be able to learn the
  859.   identity of the servers with which they communicate.  This will be a
  860.   matter of degree and it is possible that there will be more
  861.   trustworthy, but less accessible servers, supported by a larger 
  862.   cluster of less authenticatable servers that are more widely
  863.   available.  In the worst case, if the client receives what appears to
  864.   be unvalidated information, the client should assume that the hint
  865.   may be inaccurate and confirmation of the data might be sought from
  866.   more reliable but less accessible sources.
  867.  
  868. * SERVER DISTRIBUTION: Broad availability will provide resistance to
  869.   denial of service.  It is only to the extent that the services are
  870.   available that they provide any degree of trustworthiness.  In
  871.   addition, the distribution of services will reduce vulnerability
  872.   of the whole community, by reducing the trust put in any single
  873.   server.  This must be mitigated by the fact that to the extent trust
  874.   is based on a linked set of servers, if any one fails, the whole
  875.   chain of trust fails; the more elements there are in such a chain,
  876.   the more vulnerable it may become.
  877.  
  878. Privacy is a more difficult problem to address.  It may be a
  879. double-edged sword; for example, an organization may consider it
  880. critically important that its competitors not be able to read its
  881. traffic, while it may also consider it important to be able to monitor
  882. exactly what its employees are transmitting to and from whom, for a
  883. variety of reasons such as reducing the probability that its employees
  884. are giving or selling the company's secrets to verifying that employees
  885. are not using company resources for private endeavor.  Thus, although
  886. there are likely to be needs for privacy and confidentiality, what they
  887. are, who controls them and how, and by what mechanisms vary widely
  888. enough that it is difficult to say anything concrete about them here.
  889.  
  890. The privacy of publishers is much easier to safeguard.  Since they are
  891. trying to publish something, in general privacy is probably not desired.
  892. However, publishers do have information that they might like to keep
  893. private: information about who their clients are, and information about
  894. what names exist in their namespace.  The information about who their
  895. clients are may be difficult to collect depending on the implementation
  896. of the resolution system.  For example, if the resolution information
  897. relating to a given publisher is widely replicated, the hits to _each_
  898. replicated copy would need to be recorded.  Of course, determining if a
  899. specific client is requesting a given name can be approached from the
  900. other direction, by watching the client as we saw above.
  901.  
  902. The other privacy issue for publishers has to do with access control
  903. over URN resolution.  This issue is dependent on the implementation of
  904. the publisher's authoritative (in the sense of "primary) URN resolver
  905. server.  URN resolver servers can be designed to require proof of
  906. identity in order to be issued resolution information; if the client
  907. does not have permission to access the URN requested, the service denies
  908.  
  909.                                - 15 -
  910.  
  911. that such a URN exists.  An encrypted protocol can also be used so that
  912. both the request and the response are obscured.  Encryption is possible
  913. in this case because the identity of the final recipient is known (i.e.
  914. the URN server).  Thus, access control over URN resolution can and
  915. should be provided by resolver servers rather than an RDS.
  916.  
  917. 4. The Framework
  918.  
  919. With these assumptions and guidelines in mind, we can conclude with a
  920. general framework within which RDS designs can fall.  As stated earlier,
  921. although this framework is put forth as a suggested guide for RDS
  922. designers, compliance with it will in no way guarantee compliance with
  923. the rubrics.  Such an evaluation must be performed separately.  It is
  924. also understood that there may be RDS services that do not meet the
  925. guidelines in clearly identified ways.  This may be true especially with
  926. early plans and experiments.  For example, although a careful threat
  927. analysis may have been done to understand security requirements, not all
  928. those security issues may be addressed, in order to use existing
  929. facilities to allow for early deployment for experimentation purposes.
  930. All such lack of compliance should be clearly documented.
  931.  
  932. The design of the framework is based on a simple assumption about the
  933. syntax of a URN a documented in RFC-2141[RFC2141].  This assumed syntax
  934. is:
  935.  
  936.     URN:<NID>:<NSS>
  937.  
  938. where URN: is a prefix on all URNs, NID is the namespace identifier, and
  939. NSS is the namespace specific string.  The prefix identifies each URN as
  940. such.  The NID determines the general syntax for all URNs within its
  941. namespace.  The NSS is probably partitioned into a set of delegated and
  942. subdelegated namespaces, and this is probably reflected in further
  943. syntax specifications.  In more complex environments, each delegated
  944. namespace will be permitted to choose the syntax of the variable part of
  945. the namespace that has been delegated to it.  In simpler namespaces, the
  946. syntax will be restricted completely by the parent namespace.  For
  947. example, although the DNS does not meet all the requirements for URNs,
  948. it has a completely restricted syntax, such that any further structuring
  949. must be done only by adding further refinements to the left, maintaining
  950. the high order to low order, right to left structure.  A delegated
  951. syntax might be one in which a host is named by the DNS, but to the
  952. right of that and separated by an "@" is a string whose internal
  953. ordering is defined by the file system on the host, which may be defined
  954. high order to low order, left to right.  Of course, much more complex
  955. and nested syntaxes should be possible, especially given the need to
  956. grandfather namespaces.  In order to resolve URNs, rules will be needed
  957. for two reasons.  One is simply to canonicalize those namespaces that do
  958. not fall into a straightforward (probably right to left or left to
  959. right) ordering of the components of a URN, as determined by the
  960. delegated naming authorities involved.  It is also possible that rules
  961. will be needed in order to derive from URNs the names of RDS servers to
  962. be used in stages.
  963.  
  964. The NID defines a top level syntax.  This syntax will determine whether
  965. the NID alone or in conjunction with some extraction from the NSS (for
  966. the top level naming authority name) is to be used to identify the first
  967.  
  968.                                - 16 -
  969.  
  970. level server to be contacted.  At each stage of the lookup either a new
  971. rule for generating the strings used in yet another lookup (the strings
  972. being the identity of another RDS server and possibly a string to be
  973. resolved if it is different than the original URN) or a reference
  974. outside the RDS to a URN resolver service, sidestepping any further use
  975. of the RDS scheme.  Figure 1 depicts this process.
  976.  
  977.  
  978.                             URN:<NID><NSS>
  979.                                  |
  980.                                  |
  981.                                  |
  982.                                  |
  983.                                  v
  984.                        +-------------------+
  985.                        |Global NID registry|
  986.                        +-------------------+
  987.                                  |
  988.                                              |
  989.                                  |
  990.               (return rule or URN resolver service reference)
  991.                                  |
  992.                                  +----------------------------------+
  993.                                  |                                  |
  994.                        +->(apply rule to determine RDS server)        |
  995.                |         |                    |
  996.                |         |                    |
  997.                |         |                    |
  998.                        |    +----------+                |
  999.                        |    |RDS server|      +-----------------+
  1000.                        |    +----------+      |
  1001.                        |      |      |          v
  1002.                 |      |      |   (set of choices)
  1003.                 |      |      +----+----------(...)--------+
  1004.                        |   (rule)      |                       |
  1005.                        |      |           |               |
  1006.                 |      |           |               |
  1007.                 +------+           |               |
  1008.                               v               v
  1009.                    +----------+          +----------+
  1010.                                   |URN         |            |URN         |
  1011.                                   |resolver  |          |resolver  |
  1012.                                   |service   |          |service   |
  1013.                    +----------+          +----------+
  1014.  
  1015.  
  1016.  
  1017.         Figure 1: An RDS framework
  1018.  
  1019.  
  1020. There are several points worth noting about the RDS framework.  First,
  1021. it leaves open the determination of the protocols, data organization,
  1022. distribution and replication needed to support a particular RDS scheme.
  1023. Second, it leaves open the location of the computations engendered by
  1024. the rules.  Third, it leaves open the possibility that partitioning
  1025. (distribution) of the RDS database need not be on the same boundaries as
  1026.  
  1027.                                - 17 -
  1028.  
  1029. the name delegation.  This may seem radical to some, but if the
  1030. information is stored in balanced B-trees for example, the partitioning
  1031. may not be along those naming authority delegation boundaries (see
  1032. [Sl97]).  Lastly, it leaves open access to the Global NID Registry.  Is
  1033. this distributed to every client, or managed in widely distributed
  1034. servers?
  1035.  
  1036. One concept that has not been addressed in Figure 1 is that there may be
  1037. more than one RDS available at any given time, in order to allow for
  1038. evolution to new schemes.  Thus, the picture should probably look more
  1039. like Figure 2.
  1040.  
  1041.  
  1042.                          URN:<NID>:<NSS>
  1043.                                |
  1044.                        |
  1045.            +-----------+-------(...)-------+
  1046.            |                   |
  1047.            |                   |
  1048.            |                   |
  1049.            v                   v
  1050.      +---------------------+    +---------------------+
  1051.      |Global NID registry 1|        |Global NID registry N|
  1052.      +---------------------+        +---------------------+
  1053.                    .                               .
  1054.                    .                               .
  1055.                    .                               .
  1056.  
  1057.  
  1058.         Figure 2: More than one co-existing RDS scheme
  1059.  
  1060.  
  1061. If we are to support more than one co-existing RDS scheme, there will
  1062. need to be coordination between them with respect to storage and
  1063. propagation of information and modifications.  The issue is that
  1064. generally it should be assumed that all information should be available
  1065. through any operational RDS scheme.  One cannot expect potential
  1066. publishers to submit updates to more than one RDS scheme.  Hence there
  1067. will need to be a straightforward mapping of information from one to the
  1068. other of these schemes.  It is possible that that transformation will
  1069. only go in one direction, because a newer RDS service is replacing an
  1070. older one, which is not kept up to date, in order to encourage transfer
  1071. to the newer one.  Thus, at some point, updates may be made only to the
  1072. newer one and not be made available to the older one, as is often done
  1073. with library catalogs.
  1074.  
  1075. This framework is presented in order to suggest to RDS scheme designers
  1076. a direction in which to start designing.  It should be obvious to the
  1077. reader that adherence to this framework will in no way guarantee
  1078. compliance with the guidelines or even the assumptions described in
  1079. Sections 2 and 3.  These must be reviewed independently as part of the
  1080. design process.  There is no single correct design that will conform to
  1081. these guidelines.  Furthermore, it is assumed that preliminary proposals
  1082. may not meet all the guidelines, but should be expected to itemized and
  1083. justify any lack of compliance.
  1084.  
  1085.                                - 18 -
  1086.  
  1087. 5. Acknowledgments
  1088.  
  1089. Foremost acknowledgment for this document goes to Lewis Girod, as my
  1090. co-author on a preliminary URN requirements document and for his
  1091. insightful comments on this version of the document.  In addition, I
  1092. recognize the contributors to a previous URN framework document, the
  1093. "Knoxville" group.  There are too many of you to acknowledge here
  1094. individually, but thank you.  Finally, I must thank the contributors to
  1095. the URN working group mailing list (urn-ietf@bunyip.com), for their
  1096. animated discussions on these and related topics.
  1097.  
  1098. 6. References
  1099.  
  1100. [RFC1736] Kunze, J., "Functional Recommendations for Internet Resource
  1101. Locators", RFC 1736, February, 1995.
  1102.  
  1103. [RFC1737] Sollins, K. and Masinter, L., "Functional Requirements for
  1104. Uniform Resource Names", RFC 1738, December, 1994.
  1105.  
  1106. [RFC1738] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform
  1107. Resource Locators (URL)", RFC 1738, December, 1994.
  1108.  
  1109. [RFC2141] Moats, Ryan, "URN Syntax", RFC 2141, May 1997.
  1110.  
  1111. [Sl97] Slottow, E.G., "Engineering a Global Resolution Service," 
  1112. MIT-LCS-TR712, June, 1997.  Currently available as 
  1113. <http://ana.lcs.mit.edu/anaweb/ps-papers/tr-712.ps> or 
  1114. <http://ana.lcs.mit.edu/anaweb/pdf-papers/tr712.pdf>.
  1115.  
  1116. [VK83] Voydock, V. L., and Kent, S. T., "Security Mechanisms in
  1117. High-Level Protocols", ACM Computing Surveys, v. 15, No. 2, June,
  1118. 1983, pp. 135-171.
  1119.  
  1120. 7. Contact information:
  1121.  
  1122. Karen Sollins
  1123. MIT Laboratory for Computer Science
  1124. 545 Technology Sq.
  1125. Cambridge, MA 02139
  1126.  
  1127. Tel: +1 617 253 6006
  1128. Email: sollins@lcs.mit.edu
  1129.  
  1130. This Internet Draft expires on December 4, 1997.
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.                                - 19 -
  1145.